de.bsvrz.ste.stealgsba.algorithmen.lkwueberholverbotbelastungwochentag
Class LkwUeberholverbotBelastungWochentagAlg

java.lang.Object
  extended by de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenGrundausbau
      extended by de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenErweitert
          extended by de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenVollausbau
              extended by de.bsvrz.ste.stealgsba.algorithmen.lkwueberholverbotbelastungwochentag.LkwUeberholverbotBelastungWochentagAlg
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.ClientSenderInterface, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IAlgorithmus, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IAlgorithmusrahmen, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IAlgorithmusrahmenVollausbau, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IMassnahmenbearbeitung, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.ISituationsbearbeitung, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IUrsacheneinheitenListener, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IUrsacheneinheitErweiterung, de.bsvrz.sys.funclib.application.StandardApplication, java.util.EventListener

public class LkwUeberholverbotBelastungWochentagAlg
extends de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenVollausbau
implements de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IAlgorithmus, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.ISituationsbearbeitung, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IMassnahmenbearbeitung, de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IUrsacheneinheitenListener, de.bsvrz.dav.daf.main.ClientReceiverInterface

Diese Klasse implementiert den Steuerungsalgorithmus LKW-Überholverbot auf Grund von Belastung und Wochentag.

Als zusätzliche Harmonisierungsmaßnahme wird ab einem bestimmten LKW-Anteil, bezogen auf den Gesamtquerschnitt und bei hoher Verkehrsbelastung ein Überholverbot für Lkw angeordnet.

Version:
$Revision: 1.1 $ / $Date: 2015/08/26 13:34:53 $ / ($Author: Asal $)
Author:
Swarco Traffic Systems GmbH, Matthias Obert

Nested Class Summary
private  class LkwUeberholverbotBelastungWochentagAlg.LkwUeberholverbotBelastungWochentagThread
          Thread zur Bearbeitung der Maßnahmeanforderungen.
 
Field Summary
private  de.bsvrz.dav.daf.main.config.Aspect m_aspMassnahmeanforderung
          Aspekt zum Versand der Maßnahmenanforderung.
private  de.bsvrz.dav.daf.main.config.Aspect m_aspPassivierungFahrstreifen
          Aspekt für den Empfang .
private  de.bsvrz.dav.daf.main.config.AttributeGroup m_atgPassivierungFahrstreifen
          Attributgruppe für den Empfang der Fahrstreifenpassivierung.
private  de.bsvrz.dav.daf.main.ClientDavInterface m_connection
          Schnittstellen, die die logische Verbindung zum Datenverteiler repräsentiert.
private  de.bsvrz.dav.daf.main.config.DataModel m_dataModel
          Schnittstelle zum Zugriff auf Objekte und Eigenschaften eines Datenmodells.
private static de.bsvrz.sys.funclib.debug.Debug m_debug
          Stellt Methoden für die Debugausgabe zur Vefügung.
private  de.bsvrz.ste.stealgsba.algorithmusrahmen.Massnahmenbearbeitung m_mab
          Objekt für die Massnahmenbearbeitung.
private  boolean m_neueFahrstreifenPassivierungErhalten
          Flag, neue Daten über die Fahrstreifenpassivierung erhalten.
private  de.bsvrz.dav.daf.main.ResultData m_passivierungFahrStreifen
          Datensatz der Parameter passivierte Fahrstreifen.
private  java.lang.String m_pidAspektPrognose
          Übergabeparameter "-AspektPrognose=".
private  java.lang.Object m_sync
          Objekt zur Synchornisation.
private  java.lang.String m_typUrsacheneinheit
          Typ der zu bearbeitenden Ursacheneinheit.
private  java.util.List<de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit> m_ursacheneinheiten
          Liste der Ursacheneinheiten.
 
Fields inherited from class de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenErweitert
m_ursacheneinheitTypen
 
Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
 
Constructor Summary
LkwUeberholverbotBelastungWochentagAlg()
          Konstruktor.
 
Method Summary
 boolean empfaengerAnmeldenObjekt(de.bsvrz.dav.daf.main.ClientReceiverInterface instanz, de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.config.AttributeGroup atg, de.bsvrz.dav.daf.main.config.Aspect asp)
          Für ein Objekt Attributgruppe/Aspekt Kombination am Datenverteiler anmelden.
private  de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit getUrsacheneinheit(de.bsvrz.dav.daf.main.config.SystemObject objUe)
          Gibt das Objekt Ursacheneinheit für das angegebene SystemObjekt zurück.
 void initialize(de.bsvrz.dav.daf.main.ClientDavInterface connection)
           
static void main(java.lang.String[] args)
          Statische Methode für das Starten des Programms.
 de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit objektUrsacheneinheitErstellen(de.bsvrz.dav.daf.main.config.DynamicObject obj)
           
 void parseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList)
           
 void starteBerechnung()
           
 void update(de.bsvrz.dav.daf.main.ResultData[] results)
           
private  void updateDatenUrsacheneinheiten()
          Diese Methode aktualisiert für alle Ursacheneinheiten die Daten der Fahrstreifenpassivierung.
 void updateEinzelMassnahme(de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit ue, de.bsvrz.ste.stealgsba.algorithmusrahmen.EinzelMassnahme einzelMassnahme)
           
private  void updateUrsachenEinheiten()
          Aktualisiert die interne Liste der Ursacheneinheiten.
 void updateUrsachenEinheiten(java.util.List<de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit> addedUrsacheneinheiten, java.util.List<de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit> removedUrsacheneinheiten)
           
 
Methods inherited from class de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenVollausbau
getUrsacheneinheitEinzelmassnahme, getUrsachenEinheitEinzelmassnahmenAktiv, getUrsachenEinheitEinzelmassnahmenInaktiv
 
Methods inherited from class de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenErweitert
erzeugeMassnahmenanforderung, erzeugeMassnahmenanforderungen, getConnection, gibStatusBeruecksichtigung, gibUrsacheneinheitAktivitaet, gibUrsacheneinheiten, gibUrsacheneinheitenTyp, gibUrsacheneinheitStatus, sendeUrsacheneinheitStatus, setzeCallbackObjekt, setzeStatus, setzeStatusAutomatik, setzeStatusImmerFalsch, setzeStatusImmerWahr, setzeUrsachenEinheitAktiv
 
Methods inherited from class de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenGrundausbau
dataRequest, empfängerAnmeldenObjekt, getArgumentList, getAspektVersand, getDeltaPruefen, getZyklusLaenge, getZyklusOffset, gibAnlage, isMindesstandzeitAlsNachlaufzeit, isRequestSupported, isSpontan, loescheMassnahmenanforderung, objektListeErstellen, quelleAbmeldenObjekt, quelleAnmeldenObjekt, senderAnmeldenObjekt, setzeCallbackObjekt, versendeMassnahmenanforderungAspekt, verwalteSemiautomatik
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.ISituationsbearbeitung
getConnection, gibAnlage, gibUrsacheneinheitAktivitaet, gibUrsacheneinheiten, gibUrsacheneinheitenTyp, setzeCallbackObjekt, setzeStatus
 
Methods inherited from interface de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IMassnahmenbearbeitung
erzeugeMassnahmenanforderung, erzeugeMassnahmenanforderungen, getConnection, gibAnlage, gibUrsacheneinheitAktivitaet, gibUrsacheneinheiten, gibUrsacheneinheitStatus, setzeCallbackObjekt
 

Field Detail

m_debug

private static de.bsvrz.sys.funclib.debug.Debug m_debug
Stellt Methoden für die Debugausgabe zur Vefügung.


m_connection

private de.bsvrz.dav.daf.main.ClientDavInterface m_connection
Schnittstellen, die die logische Verbindung zum Datenverteiler repräsentiert.


m_dataModel

private de.bsvrz.dav.daf.main.config.DataModel m_dataModel
Schnittstelle zum Zugriff auf Objekte und Eigenschaften eines Datenmodells.


m_typUrsacheneinheit

private final java.lang.String m_typUrsacheneinheit
Typ der zu bearbeitenden Ursacheneinheit.

See Also:
Constant Field Values

m_ursacheneinheiten

private java.util.List<de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit> m_ursacheneinheiten
Liste der Ursacheneinheiten.


m_aspMassnahmeanforderung

private de.bsvrz.dav.daf.main.config.Aspect m_aspMassnahmeanforderung
Aspekt zum Versand der Maßnahmenanforderung.


m_sync

private java.lang.Object m_sync
Objekt zur Synchornisation.


m_mab

private de.bsvrz.ste.stealgsba.algorithmusrahmen.Massnahmenbearbeitung m_mab
Objekt für die Massnahmenbearbeitung.


m_atgPassivierungFahrstreifen

private de.bsvrz.dav.daf.main.config.AttributeGroup m_atgPassivierungFahrstreifen
Attributgruppe für den Empfang der Fahrstreifenpassivierung.


m_passivierungFahrStreifen

private de.bsvrz.dav.daf.main.ResultData m_passivierungFahrStreifen
Datensatz der Parameter passivierte Fahrstreifen.


m_aspPassivierungFahrstreifen

private de.bsvrz.dav.daf.main.config.Aspect m_aspPassivierungFahrstreifen
Aspekt für den Empfang .


m_neueFahrstreifenPassivierungErhalten

private boolean m_neueFahrstreifenPassivierungErhalten
Flag, neue Daten über die Fahrstreifenpassivierung erhalten.


m_pidAspektPrognose

private java.lang.String m_pidAspektPrognose
Übergabeparameter "-AspektPrognose=".
Defaultwert: asp.prognoseTräge

Constructor Detail

LkwUeberholverbotBelastungWochentagAlg

public LkwUeberholverbotBelastungWochentagAlg()
Konstruktor.

Festlegung, für welche Typen von Ursacheneineheiten der Algorithmus arbeiten soll. Instanziierung des Objekts für die Massnahmenbearbeitung.

Method Detail

parseArguments

public void parseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList)
                    throws java.lang.Exception
Specified by:
parseArguments in interface de.bsvrz.sys.funclib.application.StandardApplication
Overrides:
parseArguments in class de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenGrundausbau
Throws:
java.lang.Exception

main

public static void main(java.lang.String[] args)
Statische Methode für das Starten des Programms.

Parameters:
args - Kommandozeilen-Parameter

initialize

public void initialize(de.bsvrz.dav.daf.main.ClientDavInterface connection)
                throws java.lang.Exception
Specified by:
initialize in interface de.bsvrz.sys.funclib.application.StandardApplication
Overrides:
initialize in class de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenVollausbau
Throws:
java.lang.Exception

starteBerechnung

public void starteBerechnung()
Specified by:
starteBerechnung in interface de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IAlgorithmus

getUrsacheneinheit

private de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit getUrsacheneinheit(de.bsvrz.dav.daf.main.config.SystemObject objUe)
Gibt das Objekt Ursacheneinheit für das angegebene SystemObjekt zurück.

Parameters:
objUe - SystemObjekt der Ursacheneinheit.
Returns:
Objekt Ursacheneinheit oder null.

updateDatenUrsacheneinheiten

private void updateDatenUrsacheneinheiten()
Diese Methode aktualisiert für alle Ursacheneinheiten die Daten der Fahrstreifenpassivierung.


updateUrsachenEinheiten

private void updateUrsachenEinheiten()
Aktualisiert die interne Liste der Ursacheneinheiten.


objektUrsacheneinheitErstellen

public de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit objektUrsacheneinheitErstellen(de.bsvrz.dav.daf.main.config.DynamicObject obj)
Specified by:
objektUrsacheneinheitErstellen in interface de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IUrsacheneinheitenListener

updateEinzelMassnahme

public void updateEinzelMassnahme(de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit ue,
                                  de.bsvrz.ste.stealgsba.algorithmusrahmen.EinzelMassnahme einzelMassnahme)
Specified by:
updateEinzelMassnahme in interface de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IUrsacheneinheitErweiterung
Overrides:
updateEinzelMassnahme in class de.bsvrz.ste.stealgsba.algorithmusrahmen.AlgorithmusrahmenVollausbau

updateUrsachenEinheiten

public void updateUrsachenEinheiten(java.util.List<de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit> addedUrsacheneinheiten,
                                    java.util.List<de.bsvrz.ste.stealgsba.algorithmusrahmen.Ursacheneinheit> removedUrsacheneinheiten)
Specified by:
updateUrsachenEinheiten in interface de.bsvrz.ste.stealgsba.algorithmusrahmen.interfaces.IUrsacheneinheitenListener

empfaengerAnmeldenObjekt

public boolean empfaengerAnmeldenObjekt(de.bsvrz.dav.daf.main.ClientReceiverInterface instanz,
                                        de.bsvrz.dav.daf.main.config.SystemObject objekt,
                                        de.bsvrz.dav.daf.main.config.AttributeGroup atg,
                                        de.bsvrz.dav.daf.main.config.Aspect asp)
Für ein Objekt Attributgruppe/Aspekt Kombination am Datenverteiler anmelden.

Parameters:
instanz - Instanz.
objekt - Objekt.
atg - Attributgruppe.
asp - Aspekt.
Returns:
true = Anmeldung erfolgreich, false = nicht erfolgreich.

update

public void update(de.bsvrz.dav.daf.main.ResultData[] results)
Specified by:
update in interface de.bsvrz.dav.daf.main.ClientReceiverInterface